Methods, systems, and computer program products for controlling data transmission based on power cost

ABSTRACT

Methods, systems, and computer program products are disclosed for controlling data transmission based on power cost. A power cost per unit data associated with successfully sending data from a wireless mobile device to a remote endpoint in a communications network is determined. The determined power cost per unit data is compared to a first threshold. Transmission of data from the wireless mobile device to the remote endpoint is delayed based on a determination that the power cost per unit data exceeds the first threshold.

TECHNICAL FIELD

The subject matter described herein relates to reducing powerconsumption of a device. More particularly, the subject matter describedherein relates to controlling data transmission based on power cost.

BACKGROUND

Reducing power consumption in wireless mobile devices is of growingconcern. Wireless mobile devices today include an ever-growing list offeatures, such as Web browsing, e-mail, text messaging, and digitalphotography, to name a few. Manufacturers strive to pack theseadditional features into a small package, thus leaving less and lessroom for batteries. At the same time, these additional features cansignificantly increase power consumption of a wireless mobile device.For example, power is consumed by the wireless mobile device'stransmitter whenever data is transmitted, such as when an e-mail,digital photograph, or text message is sent or when data is uploaded toa web site.

Moreover, the amount of power consumed will vary based oncharacteristics of the data transmission. That is, the same amount ofdata can be transmitted multiple times to a remote endpoint undervarying circumstances, with each time resulting in a different amount ofpower being consumed in connection with the data transmission, which isreferred to herein as a power cost. It would be advantageous to controldata transmission based on power cost to provide reduced powerconsumption.

Accordingly, there exists a need for methods, systems, and computerprogram products for controlling data transmission based on power cost.

SUMMARY

In one aspect of the subject matter disclosed herein, a method isdisclosed for controlling data transmission based on power cost. Themethod includes determining a power cost per unit data associated withsuccessfully sending data from a wireless mobile device to a remoteendpoint in a communications network and comparing the power cost perunit data to a first threshold. Transmission of data from the wirelessmobile device to the remote endpoint is delayed based on a determinationthat the power cost per unit data exceeds the first threshold.

In another aspect of the subject matter disclosed herein, a method isdisclosed for controlling data transmission based on power cost. Themethod includes determining a power cost per unit data associated withsuccessfully sending data from a wireless mobile device to a remoteendpoint in a communications network and comparing the power cost perunit data to a first threshold. A remaining battery capacity for thewireless mobile device is determined. Transmission of data from thewireless mobile device to the remote endpoint is delayed based on adetermination that the power cost per unit data exceeds the firstthreshold and the remaining battery capacity.

In another aspect of the subject matter disclosed herein, a system isdisclosed for controlling data transmission based on power cost. Thesystem includes means for determining a power cost per unit dataassociated with successfully sending data from a wireless mobile deviceto a remote endpoint in a communications network, means for comparingthe power cost per unit data to a first threshold, and means fordelaying transmission of data from the wireless mobile device to theremote endpoint based on a determination that the power cost per unitdata exceeds the first threshold.

In another aspect of the subject matter disclosed herein, a system forcontrolling data transmission based on power cost includes a power costmonitor that determines a power cost per unit data associated withsuccessfully sending data from a wireless mobile device to a remoteendpoint in a communications network and for comparing the power costper unit data to a first threshold. The system also includes atransmitter controller that delays transmission of data from thewireless mobile device to the remote endpoint based on a determinationthat the power cost per unit data exceeds the first threshold.

In another aspect of the subject matter disclosed herein, a system forcontrolling data transmission based on power cost includes a power costmonitor that determines a power cost per unit data associated withsuccessfully sending data from a wireless mobile device to a remoteendpoint in a communications network, that compares the power cost perunit data to a first threshold, and that determines a remaining batterycapacity for the wireless mobile device. The system also includes atransmitter controller that delays transmission of data from thewireless mobile device to the remote endpoint based on a determinationthat the power cost per unit data exceeds the first threshold and theremaining battery capacity.

In another aspect of the subject matter disclosed herein, a computerprogram product is disclosed. The computer program product includescomputer executable instructions embodied in a computer-readable medium.The computer executable instructions are for performing steps includingdetermining a power cost per unit data associated with successfullysending data from a wireless mobile device to a remote endpoint in acommunications network, comparing the power cost per unit data to afirst threshold, and delaying transmission of data from the wirelessmobile device to the remote endpoint based on a determination that thepower cost per unit data exceeds the first threshold.

BRIEF DESCRIPTION OF THE DRAWINGS

Objects and advantages of the present invention will become apparent tothose skilled in the art upon reading this description in conjunctionwith the accompanying drawings, in which like reference numerals havebeen used to designate like elements, and in which:

FIG. 1 is a schematic diagram illustrating a communication scenario inwhich the subject matter described herein may be applied;

FIG. 2 includes graphical representations illustrating powerconsumption, data rate, power cost, and data transmission of a wirelessmobile device according to an aspect of the subject matter disclosedherein;

FIG. 3 is a block diagram illustrating a wireless mobile device with asystem for controlling data transmission based on power cost accordingto an aspect of the subject matter disclosed herein;

FIG. 4 is a flow diagram illustrating a method for controlling datatransmission based on power cost according to an aspect of the subjectmatter disclosed herein;

FIG. 5 is a flow diagram illustrating a method for controlling datatransmission based on power cost according to another aspect of thesubject matter disclosed herein;

FIG. 6 is a flow diagram illustrating a method for controlling datatransmission based on power cost according to another aspect of thesubject matter disclosed herein;

FIG. 7 is a flow diagram illustrating a method for controlling datatransmission based on power cost according to another aspect of thesubject matter disclosed herein; and

FIG. 8 is a flow diagram illustrating a method for controlling datatransmission based on power cost according to another aspect of thesubject matter disclosed herein.

DETAILED DESCRIPTION

To facilitate an understanding of exemplary embodiments, many aspectsare described in terms of sequences of actions that can be performed byelements of a computer system. For example, it will be recognized thatin each of the embodiments, the various actions can be performed byspecialized circuits or circuitry (e.g., discrete logic gatesinterconnected to perform a specialized function), by programinstructions being executed by one or more processors, or by acombination of both.

Moreover, the sequences of actions can be embodied in anycomputer-readable medium for use by or in connection with an instructionexecution system, apparatus, or device, such as a computer-based system,processor containing system, or other system that can fetch theinstructions from a computer-readable medium and execute theinstructions.

As used herein, a “computer-readable medium” can be any means that cancontain, store, communicate, propagate, or transport the program for useby or in connection with the instruction execution system, apparatus, ordevice. The computer-readable medium can be, for example but not limitedto, an electronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, device, or propagation medium. Morespecific examples (a non-exhaustive list) of the computer-readablemedium can include the following: an electrical connection having one ormore wires, a portable computer diskette, a random access memory (RAM),a read-only memory (ROM), an erasable programmable read-only memory(EPROM or Flash memory), an optical fiber, and a portable compact discread-only memory (CDROM).

Thus, the subject matter described herein can be embodied in manydifferent forms, and all such forms are contemplated to be within thescope of what is claimed.

According to the subject matter described herein, power consumption isreduced by delaying data transmissions until the power cost per unitdata is below a threshold value. For example, if a mobile phone usersends an e-mail to an e-mail recipient, the transmission of the e-mailmay be delayed until a favorable power costs per unit data exists, asdescribed further below. Consequently, power consumption is reduced incomparison to sending the e-mail without considering power cost.

FIG. 1 is a schematic diagram illustrating a communication scenario inwhich the subject matter described herein may be applied. In FIG. 1, awireless mobile device 100 is being moved along a path 102. For example,wireless mobile device 100 may be a mobile phone, a laptop computer, apersonal digital assistant (PDA), or another like device in a movingautomobile. Wireless mobile device 100 moves through four positions,namely A, B, C, and D, along path 102. Two base stations 104 and 106serve areas 108 and 110, respectively. As shown in FIG. 1, wirelessmobile device 100 moves through area 108 while communicating with basestation 104 at positions A, B, and C, and into area 110 to communicatewith base station 106 at positioned D.

FIG. 2 includes graphical representations illustrating powerconsumption, data rate, power cost, and data transmission of wirelessmobile device 100 at times A, B, C, and D corresponding to positions A,B, C, and D of FIG. 1 according to an aspect of the subject matterdisclosed herein. In FIG. 2, a power consumption graph 200 represents apower consumption rate associated with data transmission in wirelessmobile device 100 as a function of time. The power consumption rate is ameasure of power consumed in connection with the transmission of datafrom wireless mobile device 100. The power consumption rate may bemeasured in wireless mobile device 100 by measuring a power consumptionrate associated with the transmission of data by a transmitter ofwireless mobile device 100. Here, the measured power consumption ratecan include power consumption resulting from any unsuccessful datatransmissions, e.g., data not reaching a receiver due to droppedpackets, network congestion, collisions, and other causes.

Alternatively, or in addition, power consumption rate may be determinedby determining a received signal strength indicator (RSSI). RSSI is ameasure of signal strength of a data transmission at a receiverreceiving the data transmission. RSSI is commonly used in closed looppower control (also referred to as feedback power control) to set asignal strength for a transmitted signal based on the signal strength asseen by the receiver. The receiver provides an RSSI value to thetransmitter that the transmitter compares to a reference value todetermine whether to adjust power up or down. This cycle continues tomaintain relatively constant signal strength at the receiver. Closedloop power control compensates for path loss experienced in thetransmission medium by increasing power when too low and preventsinterference with other signals due to excessive signal strength bydecreasing power when too high.

A data rate graph 202 represents a data transmission rate for datatransmitted by wireless mobile device 100 as a function of time. Thedata transmission rate may be associated with the rate of datasuccessfully sent from a transmitter in wireless mobile device 100 to areceiver. The data transmission rate may be determined by consideringdata throughput, bit error rate (BER), a number of retries, a number ofcollisions, a number of dropped packets, and other such data ratevariables known in the art. For example, if 1 Mb of data is transmittedby a transmitter of wireless mobile device 100 during a 1 s time periodand only 500 Kb of data are received at the receiver due to droppedpackets or other transmission errors, the data transmission rate for thegiven time period may be considered to be 500 Kb/s. The datatransmission rate may be determined in whole or in part by feedbackreceived from the receiver.

A power cost graph 204 represents a power cost per unit data associatedwith sending data from a wireless mobile device 100 as a function oftime. The power cost per unit data may be determined by dividing thepower consumption rate by the data rate. An exemplary power cost perunit data value may be (1.0 mW/s)/(500 Kb/s)=2.0×10⁻⁹ W/Kb. As will beappreciated, power cost per unit data may be determined using othercalculations that may include weighting factors and/or other knownparameters. Power cost graph 204 includes two power cost thresholds, PC₁and PC₂. PC₁ represents a maximum power cost per unit data value belowwhich data transmission is started. PC₂ is an optional second power costthreshold that represents a maximum power cost per unit data above whichongoing data transmission is halted. As will be appreciated, PC₂ may beset equal to PC₁ and/or additional thresholds may be employed.

Finally, a transmit on/off graph 206 illustrates periods during whichdata is transmitted (or is not transmitted) by wireless mobile device100 as a function of time.

With reference to FIGS. 1 and 2, when wireless mobile device 100 is atposition A, the data rate 202 is favorable but the power consumption isrelatively high (due, for example, to the distance from base station104), which results in a power cost that is above PC₁. Consequently, thepower cost is too high and no data is transmitted. When wireless mobiledevice 100 is at position B, the data rate 202 is favorable and thepower consumption is reduced (due, for example, to the reduced distancefrom base station 104). This results in a power cost reduction such thatthe power cost per unit data is below PC₁. Consequently, datatransmission is initiated at time B (which corresponds to wirelessmobile device 100 being at position B). At position C, power consumptionremains relatively low but the data rate drops due to an increase intransmission error rate. The increase in transmission error rate mayresult, for example, from network congestion, dropped packets,collisions, and other error-causing conditions. Consequently, power costincreases above PC₂ and data transmission is stopped. At position D,power consumption remains relatively low and the data rate increases dueto the availability of base station 106. Consequently, power cost againdecreases below PC₁ and data transmission is restarted.

FIG. 3 is a block diagram illustrating wireless mobile device 100 with asystem for controlling data transmission based on power cost accordingto an aspect of the subject matter disclosed herein. In FIG. 3, wirelessmobile device 100 includes means for determining a power cost per unitdata associated with successfully sending data from a wireless mobiledevice to a remote endpoint in a communications network. For example,wireless mobile device 100 may include a power cost monitor 300 thatdetermines a power cost per unit data associated with successfullysending data from wireless mobile device 100 to a remote endpoint 302 ina communications network. Remote endpoint 302 may be a base station,wireless access point, or any other wireless network entity known in theart.

Power cost monitor 300 includes a data rate monitor 304, a powerconsumption rate monitor 306, and a processor 308. Data rate monitor 304determines a data transmission rate associated with successfully sendingdata from a transceiver 310 of wireless mobile device 100 to remoteendpoint 302. For example, data rate monitor 304 may be configured todetermine a data transmission rate associated with successfully sendingdata from transceiver 310 to remote endpoint 302 by determining datathroughput, BER, a number of retries, a number of dropped packets,and/or a number of collisions. This information may be determined inwhole or in part by feedback from remote endpoint 302 received viatransceiver 310.

Power consumption rate monitor 306 determines a power consumption rateassociated with data transmission. Here, the power consumption ratedetermination may take any unsuccessful data transmissions into account,as discussed above. In one aspect, power consumption rate monitor 306 isconfigured to determine a power consumption rate associated with datatransmission by determining RSSI. RSSI feedback is received from remoteendpoint 302 via transceiver 310. In another aspect, power consumptionrate monitor 306 is configured to determine a power consumption rateassociated with data transmission by measuring a power consumption rateof a transmitter and any other components associated with the datatransmission. Here, the measured power consumption rate may includepower consumption resulting from any unsuccessful data transmissions. Inyet another aspect, the power consumption rate is determined by acombination of both techniques.

Processor 308 determines the power cost per unit data based on thedetermined data transmission rate and determined power consumption ratereceived from data rate monitor 304 and power consumption rate monitor306, respectively. For example, processor 308 may determine the powercost per unit data by dividing the power consumption rate by the datatransmission rate, as discussed above, or using anothercalculation/algorithm.

Wireless mobile device 100 also includes means for comparing the powercost per unit data to one or more thresholds. For example, processor 308can compare the power cost per unit data to one or more thresholds. Thethreshold can be static or can change dynamically. In oneimplementation, wireless mobile device 100 includes a memory 312 forstoring one or more threshold values and processor 308 compares thepower cost per unit data to a threshold by retrieving the threshold frommemory 312 and comparing the power cost per unit data to the retrievedthreshold. For example, processor 308 may retrieve a threshold frommemory 312 by performing a lookup in a lookup table stored in memory312.

Wireless mobile device 100 also includes means for delaying transmissionof data from the wireless mobile device to the remote endpoint based ona determination that the power cost per unit data exceeds a threshold.For example, a transmitter controller 314 can delay transmission of datafrom the wireless mobile device 100 to the remote endpoint 302 based ona determination to processor 308 that the power cost per unit dataexceeds the threshold. Here, the transmitter controller may beconfigured to delay transmission of only non-real-time data. As usedherein, non-real-time data refers to data that does not need to betransmitted in real-time or near-real-time in order to be usable for itsprimary purpose. For example, e-mails, stored digital images, and textmessages may be considered non-real-time data since a time of deliveryis not critical. On the other hand, voice data in a telephoneconversation may be considered real-time or near-real-time data since atime of delivery is more important.

Transmitter controller 314 may delay transmission of data by transceiver310 by delaying a start time for data transmission. In addition,transmitter controller 314 may delay transmission of data by transceiver310 by pausing or stopping data transmission and restarting datatransmission at a later time. As discussed above, transmitter controller314 may start and restart data transmission based on the same thresholdvalue or based on two different threshold values. Using differentthreshold values provides the advantage of preventing transceiver 310from cycling on and off rapidly in a case where the power cost per unitdata value is rapidly moving above and below a single threshold.

According to another aspect, more than two threshold values mayalternatively be employed with each threshold corresponding to a dutycycle for data transmissions by transceiver 310. For example, two ormore power cost thresholds may be employed with each power costthreshold corresponding to a duty cycle for turning on and off datatransmissions by transceiver 310. The corresponding duty cycle candecrease (less transmitter-on time) as the power cost thresholdsincrease. As the power cost per unit data exceeds each power costthreshold, the corresponding duty cycle is used for data transmission bytransceiver 310. Alternatively, the duty cycle corresponding to thenearest power cost thresholds may be used.

According to another aspect, one or more data transmission policies maybe stored in memory 312 and retrieved and applied by processor 308 basedon current conditions. For example, processor 308 may determine a datatransmission policy based on one or more data transmission-relatedcharacteristics, such as a type of data being transmitted, a priorityassociated with the type of data being transmitted, a priority assignedto data transmission by a user, a communication network type, a type oftransmission, a data size being transmitted, a type of applicationrequesting the transmission, a destination of the data transmission, atime of day, a location of the wireless mobile device, previous datatransmissions, and remaining battery capacity. In one implementation,the one or more transmission-related characteristics may be used toselect a corresponding data transmission policy from a table stored inmemory 312. The data transmission policy may then be used to determine apower cost threshold value. In addition, processor 308 may be configuredto dynamically update the threshold as different data transmissionpolicies are applied.

Wireless mobile device 100 also includes other device processes 316associated with the operation of wireless mobile device 100. Forexample, wireless mobile device 100 includes data generation componentsthat generate data from various sources, applications 320, a userpreference monitor 322 for determining user preferences that may beinput via a user interface, and a battery capacity monitor 324 thatmonitors a battery level. It will be understood that wireless mobiledevice 100 may include many other device processes 316 known in the art.

It should also be understood that device processes 316, transceiver 310,memory 312, and remote endpoint 302 are not necessarily components ofthe system for controlling data transmission based on power cost, butmay be optionally employed as needed. In addition, it should beunderstood that the various components illustrated in FIG. 3 representlogical components that are configured to perform the functionalitydescribed herein and may be implemented in software, hardware, or acombination of the two. Moreover, some or all of these logicalcomponents may be combined or may be omitted altogether while stillachieving the functionality described herein.

As discussed above, the data transmission policy may be selected basedon one or more data transmission-related characteristics. Some or all ofthe data transmission-related characteristics may be determined bymonitoring device processes 316. For example, the type of data beingtransmitted, a type of transmission, a data size being transmitted, atype of application requesting the transmission, a destination of thedata transmission, a time of day, a location of the wireless mobiledevice, previous data transmissions, and a priority associated with thetype of data being transmitted may be determined by monitoringapplications 320. In one example, an e-mail being sent to a spouse maybe given higher priority and thus a higher power cost threshold then ane-mail sent to someone else, as can be dictated by the correspondingdata transmission policy. E-mails, in general, may be assigned to onedata transmission policy while text messages and photographs areassigned to another.

The priority assigned to data transmission by a user may be determinedby monitoring user preference monitor 322. User preference monitor mayinclude a keyboard (or keypad), display, and appropriate user interface.Remaining battery capacity can be determined by monitoring batterycapacity monitor 324.

According to another aspect, processor 308 determines a remainingbattery capacity for the wireless mobile device 100 from batterycapacity monitor 324. Transmitter controller 314 delays transmission ofdata based on both a determination that the power cost per unit dataexceeds the threshold and the remaining battery capacity. In this case,the threshold may be static but may only be applied to control datatransmission when the battery capacity is below a power save thresholdvalue. For example, power cost considerations may only come into playwhen battery levels drop below 25%.

FIG. 4 is a flow diagram illustrating a method for controlling datatransmission based on power cost according to an aspect of the subjectmatter disclosed herein. In block 400, a power cost per unit dataassociated with successfully sending data from wireless mobile device100 to remote endpoint 302 is determined by power cost monitor 300. Thepower cost per unit data is compared to a threshold by processor 308 inblock 402. Processor 308 determines whether the power cost per unit dataexceeds the threshold in block 404. In block 406, transmitter controller314 delays transmission of data to remote endpoint 302 based onprocessor 308 determining that the power cost per unit data exceeds thethreshold in block 404. When processor 308 determines that the powercost per unit data does not exceed the threshold in block 404, controlreturns to block 400.

FIG. 5 is a flow diagram illustrating a method for controlling datatransmission based on power cost according to another aspect of thesubject matter disclosed herein. In block 500, a power cost per unitdata associated with successfully sending data from wireless mobiledevice 100 to remote endpoint 302 is determined by power cost monitor300. The power cost per unit data is compared to a first threshold byprocessor 308 in block 502. Processor 308 determines whether the powercost per unit data exceeds the first threshold in block 504. In block506, transmitter controller 314 delays transmission of data to remoteendpoint 302 based on processor 308 determining that the power cost perunit data exceeds the first threshold in block 504. In response toprocessor 308 determining that the power cost per unit data does notexceed the first threshold in block 504, data transmission is started inblock 508. A new power cost per unit data is determined by power costmonitor 300 in block 510. The new power cost per unit data is comparedto a second threshold by processor 308 in block 512. Processor 308determines whether the new power cost per unit data exceeds the secondthreshold in block 514. In block 516, transmitter controller 314 stopstransmission of data to remote endpoint 302 based on processor 308determining that the new power cost per unit data exceeds the secondthreshold in block 514. In response to processor 308 determining thatthe new power cost per unit data does not exceed the first threshold inblock 514, control returns to block 510.

FIG. 6 is a flow diagram illustrating a method for controlling datatransmission based on power cost according to another aspect of thesubject matter disclosed herein. In block 600, a power cost per unitdata associated with successfully sending data from wireless mobiledevice 100 to remote endpoint 302 is determined by power cost monitor300. The power cost per unit data is compared to a plurality ofthresholds by processor 308 in block 602. Processor 308 determineswhether the power cost per unit data corresponds to one of the pluralityof thresholds in block 604. For example, the power cost per unit datamay correspond to the highest threshold that it exceeds. Alternatively,the power cost per unit data may correspond to the nearest threshold. Inblock 606, processor 308 determines a transmission duty cyclecorresponding to the threshold based on processor 308 determining thatthe power cost per unit data corresponds to one of the plurality ofthresholds in block 604. Data is transmitted based on the correspondingtransmission duty cycle in block 608. When processor 308 determines thatthe power cost per unit data does not correspond to one of the pluralityof thresholds in block 604, control returns to block 600.

FIG. 7 is a flow diagram illustrating a method for controlling datatransmission based on power cost according to another aspect of thesubject matter disclosed herein. In block 700, a data transmissionpolicy is determined by processor 308 based on at least one datatransmission-related characteristic. A threshold is determined based onthe data transmission policy by processor 308 in block 702. Power costper unit data associated with successfully sending data from wirelessmobile device 100 to remote endpoint 302 is determined by power costmonitor 300 in block 704. The power cost per unit data is compared tothe threshold by processor 308 in block 706. Processor 308 determineswhether the power cost per unit data exceeds the threshold in block 708.In block 710, transmitter controller 314 delays transmission of data toremote endpoint 302 based on processor 308 determining that the powercost per unit data exceeds the threshold in block 708. When processor308 determines that the power cost per unit data does not exceed thethreshold in block 700, control returns to block 700.

FIG. 8 is a flow diagram illustrating a method for controlling datatransmission based on power cost according to another aspect of thesubject matter disclosed herein. In block 800, a power cost per unitdata associated with successfully sending data from wireless mobiledevice 100 to remote endpoint 302 is determined by power cost monitor300. The power cost per unit data is compared to a threshold byprocessor 308 in block 802. Processor 308 determines whether the powercost per unit data exceeds the threshold in block 804. When processor308 determines that the power cost per unit data does not exceed thethreshold in block 804, control returns to block 800. In block 806, theremaining battery capacity for wireless mobile device 100 is determinedby processor 308 from battery capacity monitor 324. In block 808,processor 308 determines whether the battery capacity is below a powersave threshold. In response to determining that the battery capacity isbelow the power save threshold in block 808, transmitter controller 314delays transmission of data to remote endpoint 302 in block 810. Whenprocessor 308 determines that the battery capacity is not below thepower save threshold in block 808, control returns to block 800.

It will be understood that various details of the invention may bechanged without departing from the scope of the claimed subject matter.Furthermore, the foregoing description is for the purpose ofillustration only, and not for the purpose of limitation, as the scopeof protection sought is defined by the claims as set forth hereinaftertogether with any equivalents thereof entitled to.

1. A method for controlling data transmission based on power cost, themethod comprising: determining a power cost per unit data associatedwith successfully sending data from a wireless mobile device to a remoteendpoint in a communications network: comparing the power cost per unitdata to a first threshold; and delaying transmission of data from thewireless mobile device to the remote endpoint based on a determinationthat the power cost per unit data exceeds the first threshold, whereindelaying transmission of data from the wireless mobile device to theremote endpoint includes pausing data transmission and restarting datatransmission at a later time.
 2. The method of claim 1 whereindetermining a power cost per unit data associated with successfulcommunications between a wireless mobile device and a remote endpoint inthe communications network comprises: determining a data transmissionrate associated with successfully sending data from the wireless mobiledevice to the remote endpoint; determining a power consumption rateassociated with data transmission, wherein the power consumption ratedetermination takes any unsuccessful data transmissions into account;and determining the power cost per unit data based on the determineddata transmission rate and determined power consumption rate.
 3. Themethod of claim 2 wherein determining a data transmission rateassociated with successfully sending data from the wireless mobiledevice to the remote endpoint includes determining at least one of adata throughput, a bit error rate (BER), a number of retries, a numberof dropped packets, and a number of collisions.
 4. The method of claim 2wherein determining a power consumption rate associated with datatransmission includes determining a received signal strength indicator(RSSI).
 5. The method of claim 2 wherein determining a power consumptionrate associated with data transmission includes measuring a powerconsumption rate associated with data transmission, wherein the measuredpower consumption rate includes power consumption resulting from anyunsuccessful data transmissions.
 6. The method of claim 2 whereindetermining the power cost per unit data based on the determined datatransmission rate and determined power consumption rate includesdividing the determined power consumption rate by the determined datatransmission rate.
 7. The method of claim 1 wherein comparing the powercost per unit data to a first threshold comprises: retrieving the firstthreshold from a memory of the wireless mobile device; and comparing thepower cost per unit data to the retrieved first threshold.
 8. The methodof claim 7 wherein retrieving the first threshold from a memory of thewireless mobile device includes performing a lookup in a lookup tablestored in the memory of the wireless device.
 9. The method of claim 1wherein delaying transmission of data from the wireless mobile device tothe remote endpoint includes delaying transmission of only non-real-timedata.
 10. The method of claim 1 comprising: determining a datatransmission policy based on at least one data transmission-relatedcharacteristic; and determining the first threshold based on the datatransmission policy.
 11. The method of claim 10 wherein determining adata transmission policy based on at least one data transmission-relatedcharacteristic includes determining the data transmission policy basedon at least one of a type of data being transmitted, a priorityassociated with the type of data being transmitted, a priority assignedto data transmission by a user, a communication network type, a type oftransmission, a data size being transmitted, a type of applicationrequesting the transmission, a destination of the data transmission, atime of day, a location of the wireless mobile device, previous datatransmissions, and remaining battery capacity.
 12. The method of claim10 comprising dynamically updating the first threshold according to thedata transmission policy.
 13. A method for controlling data transmissionbased on power cost, the method comprising: determining a power cost perunit data associated with successfully sending data from a wirelessmobile device to a remote endpoint in a communications network;comparing the power cost per unit data to a first threshold; delayingtransmission of data from the wireless mobile device to the remoteendpoint based on a determination that the power cost per unit dataexceeds the first threshold; and responsive to not delaying transmissionof data: determining a new power cost per unit data associated with datatransmission; comparing the new power cost per unit data to a secondthreshold; and stopping transmission of data from the wireless mobiledevice to the remote endpoint based on a determination that the newpower cost per unit data exceeds the second threshold.
 14. The method ofclaim 13 wherein the first and second threshold are equal.
 15. A methodfor controlling data transmission based on power cost, the methodcomprising: determining a power cost per unit data associated withsuccessfully sending data from a wireless mobile device to a remoteendpoint in a communications network; comparing the power cost per unitdata to a first threshold; delaying transmission of data from thewireless mobile device to the remote endpoint based on a determinationthat the power cost per unit data exceeds the first threshold; andcomparing the power cost per unit data to a plurality of thresholds,each threshold corresponding to a transmission duty cycle; determining,based on the comparison, one of the plurality of thresholds thatcorresponds to the power cost per unit data and a transmission dutycycle corresponding to the determined one of the plurality ofthresholds; and transmitting data from the wireless mobile device basedon the corresponding transmission duty cycle.
 16. A method forcontrolling data transmission based on power cost, the methodcomprising: determining a power cost per unit data associated withsuccessfully sending data from a wireless mobile device to a remoteendpoint in a communications network; comparing the power cost per unitdata to a first threshold; determining a remaining battery capacity forthe wireless mobile device; and delaying transmission of data from thewireless mobile device to the remote endpoint based on a determinationthat the power cost per unit data exceeds the first threshold and basedon the remaining battery capacity, wherein delaying transmission of datafrom the wireless mobile device to the remote endpoint includes pausingdata transmission and restarting data transmission at a later time. 17.A computer program product comprising computer executable instructionsembodied in a computer-readable medium for performing steps comprising:determining a power cost per unit data associated with successfullysending data from a wireless mobile device to a remote endpoint in acommunications network; comparing the power cost per unit data to afirst threshold; and delaying transmission of data from the wirelessmobile device to the remote endpoint based on a determination that thepower cost per unit data exceeds the first threshold, wherein delayingtransmission of data from the wireless mobile device to the remoteendpoint includes pausing data transmission and restarting datatransmission at a later time.
 18. A system for controlling datatransmission based on power cost, the system comprising: means fordetermining a power cost per unit data associated with successfullysending data from a wireless mobile device to a remote endpoint in acommunications network; means for comparing the power cost per unit datato a first threshold; and means for delaying transmission of data fromthe wireless mobile device to the remote endpoint based on adetermination that the power cost per unit data exceeds the firstthreshold, wherein delaying transmission of data from the wirelessmobile device to the remote endpoint includes pausing data transmissionand restarting data transmission at a later time.
 19. A system forcontrolling data transmission based on power cost, the systemcomprising: a power cost monitor that determines a power cost per unitdata associated with successfully sending data from a wireless mobiledevice to a remote endpoint in a communications network and thatcompares the power cost per unit data to a first threshold and atransmitter controller that delays transmission of data from thewireless mobile device to the remote endpoint based on a determinationthat the power cost per unit data exceeds the first threshold, whereinthe transmitter controller is configured to delay transmission of datafrom the wireless mobile device to the remote endpoint by pausing datatransmission and restarting data transmission at a later time.
 20. Thesystem of claim 19 wherein the power cost monitor comprises: a data ratemonitor that determines a data transmission rate associated withsuccessfully sending data from the wireless mobile device to the remoteendpoint; a power consumption rate monitor that determines a powerconsumption rate associated with data transmission, wherein the powerconsumption rate determination takes any unsuccessful data transmissionsinto account; and a processor that determines the power cost per unitdata based on the determined data transmission rate and determined powerconsumption rate and compares the power cost per unit data to the firstthreshold.
 21. The system of claim 20 wherein the data rate monitor isconfigured to determine a data transmission rate associated withsuccessfully sending data from the wireless mobile device to the remoteendpoint by determining at least one of a data throughput, a bit errorrate (BER), a number of dropped packets, a number of retries, and anumber of collisions.
 22. The system of claim 20 wherein the powerconsumption rate monitor is configured to determine a power consumptionrate associated with data transmission by determining a received signalstrength indicator (RSSI).
 23. The system of claim 20 wherein the powerconsumption rate monitor is configured to determine a power consumptionrate associated with data transmission by measuring a power consumptionrate associated with data transmission, wherein the measured powerconsumption rate includes power consumption resulting from anyunsuccessful data transmissions.
 24. The system of claim 20 wherein theprocessor is configured to determine the power cost per unit data basedon the determined data transmission rate and determined powerconsumption rate by dividing the determined power consumption rate bythe determined data transmission rate.
 25. The system of claim 20comprising a memory, wherein the processor is configured to compare thepower cost per unit data to a first threshold by: retrieving the firstthreshold from the memory; and comparing the power cost per unit data tothe retrieved first threshold.
 26. The system of claim 25 wherein theprocessor is configured to retrieve the first threshold from the memoryby performing a lookup in a lookup table stored in the memory.
 27. Thesystem of claim 19 wherein the transmitter controller is configured todelay transmission of data from the wireless mobile device to the remoteendpoint by delaying transmission of only non-real-time data.
 28. Thesystem of claim 20 wherein the processor is configured to: determine adata transmission policy based on at least one data transmission-relatedcharacteristic; and determine the first threshold based on the datatransmission policy.
 29. The system of claim 28 wherein the processor isconfigured to determine a data transmission policy based on at least onedata transmission-related characteristic by determining the datatransmission policy based on at least one of a type of data beingtransmitted, a priority associated with the type of data beingtransmitted, a priority assigned to data transmission by a user, acommunication network type, a type of transmission, a data size beingtransmitted, a type of application requesting the transmission, adestination of the data transmission, a time of day, a location of thewireless mobile device, previous data transmissions, and remainingbattery capacity.
 30. The system of claim 28 wherein the processor isconfigured to determine the first threshold based on the datatransmission policy by dynamically updating the first thresholdaccording to the data transmission policy.
 31. A system for controllingdata transmission based on power cost, the system comprising: a powercost monitor that determines a power cost per unit data associated withsuccessfully sending data from a wireless mobile device to a remoteendpoint in a communications network and that compares the power costper unit data to a first threshold, wherein the power cost monitorcomprises a data rate monitor that determines a data transmission rateassociated with successfully sending data from the wireless mobiledevice to the remote endpoint, a power consumption rate monitor thatdetermines a power consumption rate associated with data transmission,wherein the power consumption rate determination takes any unsuccessfuldata transmissions into account, and a processor that determines thepower cost per unit data based on the determined data transmission rateand determined power consumption rate and compares the power cost perunit data to the first threshold; and a transmitter controller thatdelays transmission of data from the wireless mobile device to theremote endpoint based on a determination that the power cost per unitdata exceeds the first threshold, wherein the processor is configuredto, responsive to the transmitter controller not delaying transmissionof data, determine a new power cost per unit data associated with datatransmission and compare the new power cost per unit data to a secondthreshold, and the transmitter controller is configured to stoptransmission of data from the wireless mobile device to the remoteendpoint based on a determination by the processor that the power costper unit data exceeds the second threshold.
 32. The system of claim 31wherein the first and second thresholds are equal.
 33. A system forcontrolling data transmission based on power cost, the systemcomprising: a power cost monitor that determines a power cost per unitdata associated with successfully sending data from a wireless mobiledevice to a remote endpoint in a communications network and thatcompares the power cost per unit data to a first threshold, wherein thepower cost monitor comprises a data rate monitor that determines a datatransmission rate associated with successfully sending data from thewireless mobile device to the remote endpoint, a power consumption ratemonitor that determines a power consumption rate associated with datatransmission, wherein the power consumption rate determination takes anyunsuccessful data transmissions into account, and a processor thatdetermines the power cost per unit data based on the determined datatransmission rate and determined power consumption rate and compares thepower cost per unit data to the first threshold; and a transmittercontroller that delays transmission of data from the wireless mobiledevice to the remote endpoint based on a determination that the powercost per unit data exceeds the first threshold, wherein the processor isconfigured to: compare the power cost per unit data to a plurality ofthresholds, each threshold corresponding to a transmission duty cycle;determine, based on the comparison, one of the plurality of thresholdsthat corresponds to the power cost per unit data and a transmission dutycycle corresponding to the determined one of the plurality ofthresholds; and transmit data from the wireless mobile device based onthe corresponding transmission duty cycle.
 34. A system for controllingdata transmission based on power cost, the system comprising: a powercost monitor that determines a power cost per unit data associated withsuccessfully sending data from a wireless mobile device to a remoteendpoint in a communications network, that compares the power cost perunit data to a first threshold, and that determines a remaining batterycapacity for the wireless mobile device; and a transmitter controllerthat delays transmission of data from the wireless mobile device to theremote endpoint based on a determination that the power cost per unitdata exceeds the first threshold and based on the remaining batterycapacity, wherein the transmitter controller is configured to delaytransmission of data from the wireless mobile device to the remoteendpoint by pausing data transmission and restarting data transmissionat a later time.